import Clutter from 'gi://Clutter';
import GObject from 'gi://GObject';
-import Meta from 'gi://Meta';
+import Mtk from 'gi://Mtk';
import St from 'gi://St';
import * as Main from './main.js';
}
_getMonitorRect(x, y) {
- let rect = new Meta.Rectangle({x: x - 1, y: y - 1, width: 1, height: 1});
+ const rect = new Mtk.Rectangle({x: x - 1, y: y - 1, width: 1, height: 1});
let monitorIndex = global.display.get_monitor_index_for_rect(rect);
return global.display.get_monitor_geometry(monitorIndex);
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
import Meta from 'gi://Meta';
+import Mtk from 'gi://Mtk';
import Shell from 'gi://Shell';
import St from 'gi://St';
import * as Signals from '../misc/signals.js';
findIndexForActor(actor) {
let [x, y] = actor.get_transformed_position();
let [w, h] = actor.get_transformed_size();
- let rect = new Meta.Rectangle({x, y, width: w, height: h});
+ const rect = new Mtk.Rectangle({x, y, width: w, height: h});
return global.display.get_monitor_index_for_rect(rect);
}
h = Math.round(h);
if (actorData.affectsInputRegion && wantsInputRegion && actorData.actor.get_paint_visibility())
- rects.push(new Meta.Rectangle({x, y, width: w, height: h}));
+ rects.push(new Mtk.Rectangle({x, y, width: w, height: h}));
let monitor = null;
if (actorData.affectsStruts)
continue;
}
- let strutRect = new Meta.Rectangle({x: x1, y: y1, width: x2 - x1, height: y2 - y1});
+ const strutRect = new Mtk.Rectangle({x: x1, y: y1, width: x2 - x1, height: y2 - y1});
let strut = new Meta.Strut({rect: strutRect, side});
struts.push(strut);
}
import GLib from 'gi://GLib';
import Graphene from 'gi://Graphene';
import Meta from 'gi://Meta';
+import Mtk from 'gi://Mtk';
import Shell from 'gi://Shell';
import St from 'gi://St';
}
_getGeometry() {
- return new Meta.Rectangle({
+ return new Mtk.Rectangle({
x: Math.min(this._startX, this._lastX),
y: Math.min(this._startY, this._lastY),
width: Math.abs(this._startX - this._lastX) + 1,
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GObject from 'gi://GObject';
-import Meta from 'gi://Meta';
+import Mtk from 'gi://Mtk';
import * as Main from './main.js';
import * as Params from '../misc/params.js';
this._history.append(time, 0);
- let rect = new Meta.Rectangle({x, y, width: 1, height: 1});
+ const rect = new Mtk.Rectangle({x, y, width: 1, height: 1});
let monitor = global.display.get_monitor_index_for_rect(rect);
this.emit('begin', monitor);
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
import Meta from 'gi://Meta';
+import Mtk from 'gi://Mtk';
import Shell from 'gi://Shell';
import St from 'gi://St';
this._updateStyle(monitor);
if (!this._showing || changeMonitor) {
- const monitorRect = new Meta.Rectangle({
+ const monitorRect = new Mtk.Rectangle({
x: monitor.x,
y: monitor.y,
width: monitor.width,
import Gio from 'gi://Gio';
import GObject from 'gi://GObject';
import Meta from 'gi://Meta';
+import Mtk from 'gi://Mtk';
import Shell from 'gi://Shell';
import St from 'gi://St';
_getMonitorIndexForEvent(event) {
let [x, y] = event.get_coords();
- let rect = new Meta.Rectangle({x, y, width: 1, height: 1});
+ const rect = new Mtk.Rectangle({x, y, width: 1, height: 1});
return global.display.get_monitor_index_for_rect(rect);
}
clutter_pc = 'mutter-clutter-' + mutter_api_version
cogl_pc = 'mutter-cogl-' + mutter_api_version
cogl_pango_pc = 'mutter-cogl-pango-' + mutter_api_version
+mtk_pc = 'mutter-mtk-' + mutter_api_version
libmutter_pc = 'libmutter-' + mutter_api_version
libmutter_test_pc = 'libmutter-test-' + mutter_api_version
gtk_dep = dependency('gtk4', version: gtk_req)
libxml_dep = dependency('libxml-2.0')
clutter_dep = dependency(clutter_pc, version: mutter_req)
+mtk_dep = dependency(mtk_pc, version: mutter_req)
cogl_dep = dependency(cogl_pc, version: mutter_req)
cogl_pango_dep = dependency(cogl_pango_pc, version: mutter_req)
mutter_dep = dependency(libmutter_pc, version: mutter_req)
#include <meta/meta-plugin.h>
#include <meta/meta-x11-display.h>
#include <meta/util.h>
+#include <mtk/mtk.h>
#include "shell-global-private.h"
#include "shell-perf-log.h"
gnome_shell_plugin_size_change (MetaPlugin *plugin,
MetaWindowActor *actor,
MetaSizeChange which_change,
- MetaRectangle *old_frame_rect,
- MetaRectangle *old_buffer_rect)
+ MtkRectangle *old_frame_rect,
+ MtkRectangle *old_buffer_rect)
{
_shell_wm_size_change (get_shell_wm (), actor, which_change, old_frame_rect, old_buffer_rect);
}
static void
gnome_shell_plugin_show_tile_preview (MetaPlugin *plugin,
MetaWindow *window,
- MetaRectangle *tile_rect,
+ MtkRectangle *tile_rect,
int tile_monitor)
{
_shell_wm_show_tile_preview (get_shell_wm (), window, tile_rect, tile_monitor);
gnome_shell_plugin_show_window_menu_for_rect (MetaPlugin *plugin,
MetaWindow *window,
MetaWindowMenuType menu,
- MetaRectangle *rect)
+ MtkRectangle *rect)
{
_shell_wm_show_window_menu_for_rect (get_shell_wm (), window, menu, rect);
}
atk_bridge_dep,
gdk_pixbuf_dep,
gjs_dep,
+ mtk_dep,
clutter_dep,
cogl_pango_dep,
startup_dep,
libshell_menu = library('gnome-shell-menu',
sources: libshell_menu_sources,
- dependencies: [gio_dep, clutter_dep],
+ dependencies: [gio_dep, clutter_dep, mtk_dep],
include_directories: conf_inc,
build_rpath: mutter_typelibdir,
install_rpath: mutter_typelibdir,
)
executable('run-js-test', 'run-js-test.c',
- dependencies: [mutter_dep, gdk_pixbuf_dep, gio_dep, gi_dep, gjs_dep],
+ dependencies: [mutter_dep, mtk_dep, gdk_pixbuf_dep, gio_dep, gi_dep, gjs_dep],
include_directories: [conf_inc],
link_with: libshell,
build_rpath: mutter_typelibdir,
* SPDX-License-Identifier: GPL-3.0-or-later
*/
+#include <mtk/mtk.h>
+
#include "shell-blur-effect.h"
#include "shell-enum-types.h"
if (stage_view)
{
- cairo_rectangle_int_t stage_view_layout;
+ MtkRectangle stage_view_layout;
box_scale_factor = clutter_stage_view_get_scale (stage_view);
clutter_stage_view_get_layout (stage_view, &stage_view_layout);
#include <meta/meta-settings.h>
#include <meta/meta-workspace-manager.h>
#include <meta/meta-x11-display.h>
+#include <mtk/mtk.h>
#define GNOME_DESKTOP_USE_UNSTABLE_API
#include <libgnome-desktop/gnome-systemd.h>
/**
* shell_global_set_stage_input_region:
* @global: the #ShellGlobal
- * @rectangles: (element-type Meta.Rectangle): a list of #MetaRectangle
+ * @rectangles: (element-type Mtk.Rectangle): a list of #MtkRectangle
* describing the input region.
*
* Sets the area of the stage that is responsive to mouse clicks when
shell_global_set_stage_input_region (ShellGlobal *global,
GSList *rectangles)
{
- MetaRectangle *rect;
+ MtkRectangle *rect;
XRectangle *rects;
int nrects, i;
GSList *r;
rects = g_new (XRectangle, nrects);
for (r = rectangles, i = 0; r; r = r->next, i++)
{
- rect = (MetaRectangle *)r->data;
+ rect = (MtkRectangle *)r->data;
rects[i].x = rect->x;
rects[i].y = rect->y;
rects[i].width = rect->width;
GDateTime *datetime;
cairo_surface_t *image;
- cairo_rectangle_int_t screenshot_area;
+ MtkRectangle screenshot_area;
gboolean include_frame;
NULL, NULL, NULL,
G_TYPE_NONE,
1,
- META_TYPE_RECTANGLE);
+ MTK_TYPE_RECTANGLE);
}
static void
{
ShellScreenshotPrivate *priv = screenshot->priv;
ClutterStage *stage = shell_global_get_stage (priv->global);
- cairo_rectangle_int_t screenshot_rect = { x, y, width, height };
+ MtkRectangle screenshot_rect = { x, y, width, height };
int image_width;
int image_height;
float scale;
}
static void
-draw_cursor_image (cairo_surface_t *surface,
- cairo_rectangle_int_t area)
+draw_cursor_image (cairo_surface_t *surface,
+ MtkRectangle area)
{
CoglTexture *texture;
int width, height;
{
int monitor;
float monitor_scale;
- MetaRectangle cursor_rect = {
+ MtkRectangle cursor_rect = {
.x = x, .y = y, .width = width, .height = height
};
ShellScreenshotPrivate *priv = screenshot->priv;
MetaDisplay *display;
int width, height;
- cairo_rectangle_int_t screenshot_rect;
+ MtkRectangle screenshot_rect;
ClutterStage *stage;
int image_width;
int image_height;
display = shell_global_get_display (priv->global);
meta_display_get_size (display, &width, &height);
- screenshot_rect = (cairo_rectangle_int_t) {
+ screenshot_rect = (MtkRectangle) {
.x = 0,
.y = 0,
.width = width,
// MetaCursorRenderer.
if (view)
{
- cairo_rectangle_int_t view_layout;
+ MtkRectangle view_layout;
float view_scale;
clutter_stage_view_get_layout (view, &view_layout);
MetaWindow *window = meta_display_get_focus_window (display);
ClutterActor *window_actor;
gfloat actor_x, actor_y;
- MetaRectangle rect;
+ MtkRectangle rect;
window_actor = CLUTTER_ACTOR (meta_window_get_compositor_private (window));
clutter_actor_get_position (window_actor, &actor_x, &actor_y);
}
static gboolean
-finish_screenshot (ShellScreenshot *screenshot,
- GAsyncResult *result,
- cairo_rectangle_int_t **area,
- GError **error)
+finish_screenshot (ShellScreenshot *screenshot,
+ GAsyncResult *result,
+ MtkRectangle **area,
+ GError **error)
{
ShellScreenshotPrivate *priv = screenshot->priv;
}
g_signal_emit (screenshot, signals[SCREENSHOT_TAKEN], 0,
- (cairo_rectangle_int_t *) &priv->screenshot_area);
+ (MtkRectangle *) &priv->screenshot_area);
meta_enable_unredirect_for_display (display);
}
grab_screenshot (screenshot, flags, result);
g_signal_emit (screenshot, signals[SCREENSHOT_TAKEN], 0,
- (cairo_rectangle_int_t *) &priv->screenshot_area);
+ (MtkRectangle *) &priv->screenshot_area);
}
else
{
*
*/
gboolean
-shell_screenshot_screenshot_finish (ShellScreenshot *screenshot,
- GAsyncResult *result,
- cairo_rectangle_int_t **area,
- GError **error)
+shell_screenshot_screenshot_finish (ShellScreenshot *screenshot,
+ GAsyncResult *result,
+ MtkRectangle **area,
+ GError **error)
{
g_return_val_if_fail (SHELL_IS_SCREENSHOT (screenshot), FALSE);
g_return_val_if_fail (G_IS_TASK (result), FALSE);
SHELL_SCREENSHOT_FLAG_NONE);
g_signal_emit (screenshot, signals[SCREENSHOT_TAKEN], 0,
- (cairo_rectangle_int_t *) &priv->screenshot_area);
+ (MtkRectangle *) &priv->screenshot_area);
task = g_task_new (screenshot, NULL, on_screenshot_written, result);
g_task_run_in_thread (task, write_screenshot_thread);
*
*/
gboolean
-shell_screenshot_screenshot_area_finish (ShellScreenshot *screenshot,
- GAsyncResult *result,
- cairo_rectangle_int_t **area,
- GError **error)
+shell_screenshot_screenshot_area_finish (ShellScreenshot *screenshot,
+ GAsyncResult *result,
+ MtkRectangle **area,
+ GError **error)
{
g_return_val_if_fail (SHELL_IS_SCREENSHOT (screenshot), FALSE);
g_return_val_if_fail (G_IS_TASK (result), FALSE);
*
*/
gboolean
-shell_screenshot_screenshot_window_finish (ShellScreenshot *screenshot,
- GAsyncResult *result,
- cairo_rectangle_int_t **area,
- GError **error)
+shell_screenshot_screenshot_window_finish (ShellScreenshot *screenshot,
+ GAsyncResult *result,
+ MtkRectangle **area,
+ GError **error)
{
g_return_val_if_fail (SHELL_IS_SCREENSHOT (screenshot), FALSE);
g_return_val_if_fail (G_IS_TASK (result), FALSE);
#ifndef __SHELL_SCREENSHOT_H__
#define __SHELL_SCREENSHOT_H__
+#include <mtk/mtk.h>
+
/**
* SECTION:shell-screenshot
* @short_description: Grabs screenshots of areas and/or windows
GOutputStream *stream,
GAsyncReadyCallback callback,
gpointer user_data);
-gboolean shell_screenshot_screenshot_area_finish (ShellScreenshot *screenshot,
- GAsyncResult *result,
- cairo_rectangle_int_t **area,
- GError **error);
+gboolean shell_screenshot_screenshot_area_finish (ShellScreenshot *screenshot,
+ GAsyncResult *result,
+ MtkRectangle **area,
+ GError **error);
void shell_screenshot_screenshot_window (ShellScreenshot *screenshot,
gboolean include_frame,
GOutputStream *stream,
GAsyncReadyCallback callback,
gpointer user_data);
-gboolean shell_screenshot_screenshot_window_finish (ShellScreenshot *screenshot,
- GAsyncResult *result,
- cairo_rectangle_int_t **area,
- GError **error);
+gboolean shell_screenshot_screenshot_window_finish (ShellScreenshot *screenshot,
+ GAsyncResult *result,
+ MtkRectangle **area,
+ GError **error);
void shell_screenshot_screenshot (ShellScreenshot *screenshot,
gboolean include_cursor,
GOutputStream *stream,
GAsyncReadyCallback callback,
gpointer user_data);
-gboolean shell_screenshot_screenshot_finish (ShellScreenshot *screenshot,
- GAsyncResult *result,
- cairo_rectangle_int_t **area,
- GError **error);
+gboolean shell_screenshot_screenshot_finish (ShellScreenshot *screenshot,
+ GAsyncResult *result,
+ MtkRectangle **area,
+ GError **error);
void shell_screenshot_screenshot_stage_to_content (ShellScreenshot *screenshot,
GAsyncReadyCallback callback,
#include <clutter/clutter.h>
#include <meta/window.h>
+#include <mtk/mtk.h>
+
#include "shell-window-preview-layout.h"
typedef struct _ShellWindowPreviewLayoutPrivate ShellWindowPreviewLayoutPrivate;
if (window_info)
{
- MetaRectangle buffer_rect;
+ MtkRectangle buffer_rect;
float child_nat_width, child_nat_height;
meta_window_get_buffer_rect (window_info->window, &buffer_rect);
GHashTableIter iter;
gpointer value;
gboolean first_rect = TRUE;
- MetaRectangle bounding_rect = { 0, };
+ MtkRectangle bounding_rect = { 0, };
ClutterActorBox old_bounding_box;
priv = shell_window_preview_layout_get_instance_private (self);
while (g_hash_table_iter_next (&iter, NULL, &value))
{
WindowInfo *window_info = value;
- MetaRectangle frame_rect;
+ MtkRectangle frame_rect;
meta_window_get_frame_rect (window_info->window, &frame_rect);
continue;
}
- meta_rectangle_union (&frame_rect, &bounding_rect, &bounding_rect);
+ mtk_rectangle_union (&frame_rect, &bounding_rect, &bounding_rect);
}
clutter_actor_box_set_origin (&priv->bounding_box,
#define __SHELL_WM_PRIVATE_H__
#include "shell-wm.h"
+#include <mtk/mtk.h>
G_BEGIN_DECLS
void _shell_wm_size_change(ShellWM *wm,
MetaWindowActor *actor,
MetaSizeChange which_change,
- MetaRectangle *old_frame_rect,
- MetaRectangle *old_buffer_rect);
+ MtkRectangle *old_frame_rect,
+ MtkRectangle *old_buffer_rect);
void _shell_wm_map (ShellWM *wm,
MetaWindowActor *actor);
void _shell_wm_destroy (ShellWM *wm,
void _shell_wm_show_tile_preview (ShellWM *wm,
MetaWindow *window,
- MetaRectangle *tile_rect,
+ MtkRectangle *tile_rect,
int tile_monitor);
void _shell_wm_hide_tile_preview (ShellWM *wm);
void _shell_wm_show_window_menu (ShellWM *wm,
void _shell_wm_show_window_menu_for_rect (ShellWM *wm,
MetaWindow *window,
MetaWindowMenuType menu,
- MetaRectangle *rect);
+ MtkRectangle *rect);
gboolean _shell_wm_filter_keybinding (ShellWM *wm,
MetaKeyBinding *binding);
0,
NULL, NULL, NULL,
G_TYPE_NONE, 4,
- META_TYPE_WINDOW_ACTOR, META_TYPE_SIZE_CHANGE, META_TYPE_RECTANGLE, META_TYPE_RECTANGLE);
+ META_TYPE_WINDOW_ACTOR, META_TYPE_SIZE_CHANGE, MTK_TYPE_RECTANGLE, MTK_TYPE_RECTANGLE);
shell_wm_signals[MAP] =
g_signal_new ("map",
G_TYPE_FROM_CLASS (klass),
0, NULL, NULL, NULL,
G_TYPE_NONE, 3,
META_TYPE_WINDOW,
- META_TYPE_RECTANGLE,
+ MTK_TYPE_RECTANGLE,
G_TYPE_INT);
shell_wm_signals[HIDE_TILE_PREVIEW] =
g_signal_new ("hide-tile-preview",
G_SIGNAL_RUN_LAST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 3,
- META_TYPE_WINDOW, G_TYPE_INT, META_TYPE_RECTANGLE);
+ META_TYPE_WINDOW, G_TYPE_INT, MTK_TYPE_RECTANGLE);
shell_wm_signals[FILTER_KEYBINDING] =
g_signal_new ("filter-keybinding",
G_TYPE_FROM_CLASS (klass),
void
_shell_wm_show_tile_preview (ShellWM *wm,
MetaWindow *window,
- MetaRectangle *tile_rect,
+ MtkRectangle *tile_rect,
int tile_monitor)
{
g_signal_emit (wm, shell_wm_signals[SHOW_TILE_PREVIEW], 0,
int x,
int y)
{
- MetaRectangle rect;
+ MtkRectangle rect;
rect.x = x;
rect.y = y;
_shell_wm_show_window_menu_for_rect (ShellWM *wm,
MetaWindow *window,
MetaWindowMenuType menu,
- MetaRectangle *rect)
+ MtkRectangle *rect)
{
g_signal_emit (wm, shell_wm_signals[SHOW_WINDOW_MENU], 0, window, menu, rect);
}
_shell_wm_size_change (ShellWM *wm,
MetaWindowActor *actor,
MetaSizeChange which_change,
- MetaRectangle *old_frame_rect,
- MetaRectangle *old_buffer_rect)
+ MtkRectangle *old_frame_rect,
+ MtkRectangle *old_buffer_rect)
{
g_signal_emit (wm, shell_wm_signals[SIZE_CHANGE], 0, actor, which_change, old_frame_rect, old_buffer_rect);
}
#include "shell-global.h"
#include <meta/meta-workspace-manager.h>
+#include <mtk/mtk.h>
#define BACKGROUND_MARGIN 12
int monitor_index;
double state_adjustment_value;
- MetaRectangle work_area;
- MetaRectangle monitor_geometry;
+ MtkRectangle work_area;
+ MtkRectangle monitor_geometry;
};
G_DEFINE_TYPE (ShellWorkspaceBackground, shell_workspace_background, ST_TYPE_WIDGET);
libst = shared_library('st-' + mutter_api_version,
sources: st_gir_sources + st_nogir_sources + croco_sources,
c_args: st_cflags,
- dependencies: [clutter_dep, mutter_dep, libxml_dep, gdk_pixbuf_dep, m_dep, schemas_dep],
+ dependencies: [mtk_dep, clutter_dep, mutter_dep, libxml_dep, gdk_pixbuf_dep, m_dep, schemas_dep],
build_rpath: mutter_typelibdir,
install_rpath: mutter_typelibdir,
install_dir: pkglibdir,
test_theme = executable('test-theme',
sources: 'test-theme.c',
c_args: st_cflags,
- dependencies: [mutter_test_dep, libxml_dep],
+ dependencies: [mutter_test_dep, mtk_dep, libxml_dep],
build_rpath: mutter_typelibdir,
link_with: libst
)
libtray = static_library('tray', tray_sources,
c_args: ['-DG_LOG_DOMAIN="notification_area"'],
- dependencies: [mutter_dep],
+ dependencies: [mutter_dep, mtk_dep],
include_directories: conf_inc
)